package cn.e4j.modular.crm.service;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwamExport;
import cn.e4j.modular.crm.entity.GwamT;
import cn.e4j.modular.crm.entity.GwamlT;
import cn.e4j.modular.crm.entity.GwanT;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author shixc
 * @since 2019-01-11
 */
public interface GwamTService extends IService<GwamT> {

    /**
     * 查询产品资料列表
     */
    List<Map<String, Object>> getList(Page<Object> page, Dto dto);

    /**
     * 查询产品属性特征值列表
     */
    List<Map<String, Object>> getGwanList(Page<Object> page, Dto dto);

    /**
     * 查询产品分类列表
     */
    List<Map<String, Object>> getGwahList(Dto dto);

    /**
     * 查询产品系列列表
     */
    List<Map<String, Object>> getGwaoList(Dto dto);

    /**
     * 查询销售单位列表
     */
    List<Map<String, Object>> getGwabList(Dto dto);

    /**
     * 查询属性特征分类列表
     */
    List<Map<String, Object>> getGwaiList(Dto dto);

    /**
     * 查询属性特征值列表
     */
    List<Map<String, Object>> getGwajList(Dto dto);

    /**
     * 根据产品编号查询数据
     */
    GwamT getByKey(String GWAMENT, String GWAM001);

    /**
     * 新增
     */
    void addGwam(GwamT gwamT, GwamlT gwamlT);

    /**
     * 修改
     */
    void editGwam(GwamT gwamT, GwamlT gwamlT);

    /**
     * 删除
     */
    void deleteGwam(GwamT gwamT, GwamlT gwamlT);

    /*
    * 批量删除
    */
    void delDataBatchGwam(List<GwamT> gwamTList);

    /**
     * 根据产品编号查询数据
     */
    GwanT getByGwan(String GWANENT, String GWAN001, String GWAN002);

    /**
     * 新增
     */
    void addGwan(GwanT gwanT);

    /**
     * 修改
     */
    void editGwan(GwanT gwanT);

    /**
     * 删除
     */
    void deleteGwan(GwanT gwanT);

    /*
    * 批量删除
    */
    void delDataBatchGwan(List<GwanT> gwanTList);

    /**
     * 查询仓库资料列表
     */
    List<Map<String, Object>> getGwasList(Page<Object> page, Dto dto);

    /**
     * 查询最新产品
     */
    List<Dto> getProductList(Dto dto);

    /**
     * 查询产品图片名称
     */
    Dto getPicture(Dto dto);

    /**
     * 查询产品导出资料列表
     */
    List<GwamExport> getListExport(Dto dto);

    List<Dto> getGwan(Dto dto);
}
